GrapeCity.Win.MultiRow.v80 アセンブリ > GrapeCity.Win.MultiRow 名前空間 > GcMultiRow クラス > Sort メソッド : Sort(SortItem[]) メソッド |
例外 | 解説 |
---|---|
System.ArgumentNullException | sortItemsがnull 参照 (Visual Basicでは Nothing)です。 |
System.ArgumentException | sortItems配列に項目が含まれていません。 |
System.InvalidOperationException | このメソッドは、Templateがnull 参照 (Visual Basicでは Nothing)の場合には使用できません。 または VirtualModeがtrueで、なおかつDataSourceがnull 参照 (Visual Basicでは Nothing)です。 |
このメソッドは、複数のSortItemを使用することで、複数の列を同時に並べ替えます。
このメソッドを使用すると、GcMultiRowクラスの並べ替え機能を高度にカスタマイズできます。高度にカスタマイズされた並べ替え操作を実装するために、ColumnHeaderCellのCellMouseClickイベントのイベントハンドラを記述し、System.Collections.IComparerインタフェースを実装するクラスのインスタンスをSortItemのメンバとして指定してこのメソッドを呼び出すことができます。この場合は通常、SortModeプロパティをSortMode.Programmaticに設定して、並べ替えが自動的に行われないようにし、並べ替えグリフを表示するスペースを設けます。Programmatic並べ替えモードに設定されたセルで並べ替えるときは、SortGlyphDirectionプロパティを設定して、並べ替えグリフを自分で表示する必要があります。
AllowUserToAddRowsプロパティの値がtrueの場合は、最後の行が常に最後の行になります。この場合、並べ替え演算子は最後の行(コミットされていない新しい行)には作用しません。
void SortByCodeMultiCells() { SortItem sortItem1 = new SortItem(0, SortOrder.Ascending); SortItem sortItem2 = new SortItem(1, SortOrder.Descending); SortItem[] sortItems = new SortItem[] { sortItem1, sortItem2 }; // In one sort operator, sort two cells in all rows by using SortItem. this.gcMultiRow1.Sort(sortItems); }
Private Sub SortByCodeMultiCells() Dim sortItem1 As New SortItem(0, SortOrder.Ascending) Dim sortItem2 As New SortItem(1, SortOrder.Descending) Dim sortItems As SortItem() = New SortItem() {sortItem1, sortItem2} ' In one sort operator, sort two cells in all rows by using SortItem. Me.gcMultiRow1.Sort(sortItems) End Sub